/**
 * 玩家摸牌后，该牌玩家自己要不进；牌面公示后；有其他玩家能够进行吃，碰，胡 操作
 * @param json_data
 */
function draw_play_mopai_18( json_data ){
    var log_data = json_data.log_data;//字面数据
    var mop_uid  = json_data.log_uid;//摸牌人ID
    var is_pao   = json_data.log_data.is_pao;//是否为跑牌胡(可能是自己跑，也有可能是别家跑)
    var pao_uid  = json_data.log_data.pao_uid;//如果有跑牌人，跑牌人ID是多少
    /**************************************************  设置所有状态 ***************************************************/
    MOPAI_CHI  = log_data.chi_pai_uid;
    MOPAI_HU   = log_data.hu_pai_uid;
    MOPAI_PENG = log_data.peng_pai_uid;
    /**************************************************  设置所有状态 ***************************************************/
    //查询是否有碰、吃、胡，有的情况下，先画一个过的按钮再说
    if( log_data.chi == 1 || log_data.peng == 1 || log_data.hu == 1 ){
        GAME_NOW_BTN_C = 0;
        if( PL_Room_Play.BTN_PENG != null ){PL_Room_Play.removeChild( PL_Room_Play.BTN_PENG );}
        if( PL_Room_Play.BTN_CHI != null ){PL_Room_Play.removeChild( PL_Room_Play.BTN_CHI );}
        if( PL_Room_Play.BTN_CLOSE != null ){PL_Room_Play.removeChild( PL_Room_Play.BTN_CLOSE );}
    }
    if( log_data.hu == 1){//如果存在碰按钮，就把碰画出来
        //界面画出胡的按钮
        GAME_NOW_BTN_C++;
        PL_Room_Play.BTN_HU    = cc.Sprite.create( res.Room_HU );
        PL_Room_Play.BTN_HU.x   = PL_Room_Play.realy_size.width / 2 - 100 + (GAME_NOW_BTN_C * 140 );
        PL_Room_Play.BTN_HU.y   = PL_Room_Play.realy_size.height / 2 + 20;
        PL_Room_Play.addChild( PL_Room_Play.BTN_HU );
        var temp_listen = cc.EventListener.create({
            event:cc.EventListener.TOUCH_ONE_BY_ONE,
            swallowTouches:true,
            onTouchBegan:function(touch,event){
                var target = event.getCurrentTarget();
                var locationInNode = target.convertToNodeSpace(touch.getLocation());
                var s      = target.getContentSize();
                var rect   = cc.rect(0, 0, s.width, s.height);
                if (cc.rectContainsPoint(rect, locationInNode)) {
                    //如果只有一个胡牌人的情况下；则是自己，那么直接电胡即可；如果存在2个或2个以上的胡牌人；那么需要按顺序来
                    if( MOPAI_HU.length >= 2 ){
                        var my_index = 0;
                        for( var i = 0 ; i < MOPAI_HU.length ; i++ ){
                            if( MOPAI_HU[i] == PB_USER_UID ){
                                my_index = (i+1);
                            }
                        }
                        if( my_index != 1 ){return false;}//如果查找下来；我当前还不是第一人，那么我就不能胡
                    }
                    //如果没有胡牌人，但因为碰牌人只有一个，那么可以点就肯定是自己了；碰牌不需要关注别人是否能吃
                    delete_all_btn();
                    //执行胡牌操作
                    cc.log( "o:" + PB_USER_UID + ":" + ROOM_ID + ":" + log_data.card_number + ":" + mop_uid + ":" + is_pao + ":" + pao_uid );
                    PB_WS.send("o:" + PB_USER_UID + ":" + ROOM_ID + ":" + log_data.card_number + ":" + mop_uid + ":" + is_pao + ":" + pao_uid);
                }
            },
        });
        cc.eventManager.addListener( temp_listen ,  PL_Room_Play.BTN_HU );
    }
    //碰：如果点击的时候发现还有人能胡，那么碰的事件是不允许执行
    if( log_data.peng == 1){//如果存在碰按钮，就把碰画出来
        //界面画出碰的按钮
        GAME_NOW_BTN_C++;
        PL_Room_Play.BTN_PENG     = cc.Sprite.create( res.Room_PENG );
        PL_Room_Play.BTN_PENG.x   = PL_Room_Play.realy_size.width / 2 - 100 + (GAME_NOW_BTN_C * 140 );
        PL_Room_Play.BTN_PENG.y   = PL_Room_Play.realy_size.height / 2 + 20;
        PL_Room_Play.addChild( PL_Room_Play.BTN_PENG );
        var temp_listen = cc.EventListener.create({
            event:cc.EventListener.TOUCH_ONE_BY_ONE,
            swallowTouches:true,
            onTouchBegan:function(touch,event){
                var target = event.getCurrentTarget();
                var locationInNode = target.convertToNodeSpace(touch.getLocation());
                var s      = target.getContentSize();
                var rect   = cc.rect(0, 0, s.width, s.height);
                if (cc.rectContainsPoint(rect, locationInNode)) {
                    //存在胡牌人的情况下;如果自己不是在胡牌人之列；那么还不能点碰
                    if( MOPAI_HU.length >= 1 ){
                        if( log_data.hu == 1 ){
                            //.......... 自己有胡选择不胡
                        }else{//如果存在胡牌人，自己还不是胡牌人，则不能胡
                            cc.log("当前存在胡牌人，你暂时还不能进行碰牌操作");
                            return false;
                        }
                    }
                    //如果没有胡牌人，但因为碰牌人只有一个，那么可以点就肯定是自己了；碰牌不需要关注别人是否能吃
                    delete_all_btn();
                    //执行碰牌操作
                    PB_WS.send("u:" + PB_USER_UID + ":" + ROOM_ID + ":" + log_data.card_number);//摸弃牌碰
                }
            },
        });
        cc.eventManager.addListener( temp_listen ,  PL_Room_Play.BTN_PENG );
    }
    //吃：如果点击的时候发现还有人能碰，能胡，那么吃的事件是不允许执行
    //吃：因为是摸牌后触发的吃，那么吃的顺序为  摸牌者 -> 下家;也就是说如果同时有2个人可以吃，那么优先的是摸牌者
    if( log_data.chi == 1){//如果存在吃按钮，就把吃画出来
        //界面画出吃的按钮
        GAME_NOW_BTN_C++;
        PL_Room_Play.BTN_CHI     = cc.Sprite.create( res.Room_CHI );
        PL_Room_Play.BTN_CHI.x   = PL_Room_Play.realy_size.width / 2 - 100 + (GAME_NOW_BTN_C * 140 );
        PL_Room_Play.BTN_CHI.y   = PL_Room_Play.realy_size.height / 2 + 20;
        PL_Room_Play.addChild( PL_Room_Play.BTN_CHI );
        var temp_listen = cc.EventListener.create({
            event:cc.EventListener.TOUCH_ONE_BY_ONE,
            swallowTouches:true,
            onTouchBegan:function(touch,event){
                var target = event.getCurrentTarget();
                var locationInNode = target.convertToNodeSpace(touch.getLocation());
                var s      = target.getContentSize();
                var rect   = cc.rect(0, 0, s.width, s.height);
                if (cc.rectContainsPoint(rect, locationInNode)) {
                    //如果存在胡牌人；胡牌人是自己的情况下；提示是否过胡，非自己的情况下；不允许胡
                    if( MOPAI_HU.length >= 1 ){
                        if( log_data.hu == 1 ){
                            //自己有胡，选择不胡。。。。。。
                        }else{
                            cc.log("当前存在胡牌人，你暂时还不能进行碰牌操作");
                            return false;
                        }
                    }
                    //是否存在碰牌人，如果自己不是碰牌人；那么还不能点碰
                    if( MOPAI_PENG.length == 1 ){
                        if( log_data.peng == 1  ){

                        }else{
                            cc.log("当前存在碰牌人，你暂时还不能进行碰牌操作");
                            return false;
                        }
                    }
                    //允许执行到吃；如果只有自己可以吃，就执行吃的操作；如果有多人可以吃；同时自己不是第一选择，则需要继续等待
                    //条件：大于等于2是因为如果只有1个人可以吃的话，那肯定就是自己了
                    if( MOPAI_CHI.length >= 2 ){
                        //同时有2个人可以吃的情况下，需要判断是否自己才是第一个选择人(吃只有摸牌人跟下家可以吃；如果我当前不是摸牌人，那我自然就是下家了)
                        //如果摸牌人取消了吃牌，那么MOPAI_CHI就变成了1，也就是再点也执行不到这里了；所以这里这样判断就OK了~
                        if( PB_USER_UID != mop_uid ){
                            return true;
                        }
                    }
                    //只要能成功执行，就需要去除胡，碰，吃按钮；并把过按钮移动到屏幕右下方
                    if( PL_Room_Play.BTN_HU != null ){PL_Room_Play.removeChild( PL_Room_Play.BTN_HU );PL_Room_Play.BTN_HU = null;}
                    if( PL_Room_Play.BTN_PENG != null ){PL_Room_Play.removeChild( PL_Room_Play.BTN_PENG );PL_Room_Play.BTN_PENG = null;}
                    if( PL_Room_Play.BTN_CHI != null ){PL_Room_Play.removeChild( PL_Room_Play.BTN_CHI );PL_Room_Play.BTN_CHI = null;}
                    PL_Room_Play.BTN_CLOSE.runAction( cc.MoveTo.create( 0.3 , cc.p( PL_Room_Play.realy_size.width - 300 , 200 ) ) );
                    //执行吃操作
                    play_eat_pai(log_data.chi_type, log_data.card_number , 888 );
                }
            },
        });
        cc.eventManager.addListener( temp_listen ,  PL_Room_Play.BTN_CHI );
    }
    //过：如果除自己外，还有人能吃或者能碰；不允许过；如果没有其他人能吃或者能胡能碰了，则允许过；
    //过：如果只有自己可以吃可以碰，也允许过
    if( log_data.chi == 1 || log_data.peng == 1 || log_data.hu == 1 ){
        //界面画出一个过的按钮出来丫丫丫
        GAME_NOW_BTN_C++;
        PL_Room_Play.BTN_CLOSE   = cc.Sprite.create(res.Room_CLOSE);
        PL_Room_Play.BTN_CLOSE.x = PL_Room_Play.realy_size.width / 2 - 100 + (GAME_NOW_BTN_C * 140 );
        PL_Room_Play.BTN_CLOSE.y = PL_Room_Play.realy_size.height / 2 + 20;
        PL_Room_Play.addChild(PL_Room_Play.BTN_CLOSE);
        var temp_listen = cc.EventListener.create({
            event:cc.EventListener.TOUCH_ONE_BY_ONE,
            swallowTouches:true,
            onTouchBegan:function(touch,event){
                var target = event.getCurrentTarget();
                var locationInNode = target.convertToNodeSpace(touch.getLocation());
                var s      = target.getContentSize();
                var rect   = cc.rect(0, 0, s.width, s.height);
                if (cc.rectContainsPoint(rect, locationInNode)) {
                    //如果自己是胡牌人，那么点了要提示“过胡不能胡”
                    if( log_data.hu == 1 ){
                        //自己可以胡，自己不胡.......
                    }
                    //只要能成功执行，就需要去除胡，碰，吃按钮；并把过按钮移动到屏幕右下方
                    delete_all_btn();
                    //清除所有的比牌框
                    delete_all_bipai();
                    //执行过操作（这里的过针对个人。具体个人怎么处理在后台；）
                    PB_WS.send("i:" + PB_USER_UID + ":" + ROOM_ID + ":" + log_data.card_number + ":" + mop_uid);//摸弃吃，碰胡的取消操作
                }
            },
        });
        cc.eventManager.addListener( temp_listen ,  PL_Room_Play.BTN_CLOSE );
    }
}